//
//  main.m
//  LearnOCbase
//
//  Created by China Dragon on 2023/6/11.
//

#import <Foundation/Foundation.h>
#import "Student8.h"
#import "Book8.h"

/*
 http://www.taodudu.cc/news/show-1543811.html?action=onClick
 在XCode的一个项目中创建多个C/C++/Cpp文件并分别运行——创建多个target实现
 
 
 这个时候已经创建了一个cpp-project的项目，里面包含了一个main.cpp文件～
 如果这个时候想要在同一个工程里面创建第二个带main函数的c++文件并运行，就需要通过创建Target来实现～

 Project是一个工程项目，一个Project可以包含多个Target～
 Target之间互相没有关系，Target于Project的关系是：Target的Setting一部分继承自Project的Setting～
 
 */

int main(int argc, const char * argv[]) {
    
    @autoreleasepool {
        Student8 *stu = [[Student8 alloc]init];
        Book8 *book = [[Book8 alloc]init];//这里retain 1
        
        stu.book = book;
//        NSLog(@"count = %zi",[book retainCount]);// 这里retain 应该是 2
        
        
        stu.rich = YES;
        BOOL *rich2 = stu.isRich;
        
        /*
             ARC总结，学习arc时出现的错误
             https://www.cnblogs.com/jbb0403/p/16274548.html
             
             https://blog.csdn.net/dfsigue/article/details/73335937
             由于在新建工程的时候使用了ARC功能，即点选了“Use Automatic Reference Counting”选项。
         */
        
//        [book release];
//        [stu release];
    }
    
    return 0;
}
